package com.gitee.wsl.doc.sample.opml.bean

import kotlinx.serialization.Serializable

/**
 *
 *
 * Instances represent a full OPML document.
 *
 *
 *
 * `<opml>` is an XML element, with a single required attribute, version; a `<head>` element and a
 * `<body>` element, both of which are required.
 *
 *
 *
 * Instances of this class are unmodifiable and threadsafe.
 *
 *
 * @see [OPML version 2 specification](http://dev.opml.org/spec2.html)
 */
@Serializable
data class Opml(
    /**
     * OPML version
     */
    val version: String,
    val head: com.gitee.wsl.doc.sample.opml.bean.Head,
    val body: com.gitee.wsl.doc.sample.opml.bean.Body,
) {

    override fun toString(): String {
        return StringBuilder()
            .append("Opml [")
            .append(System.lineSeparator())
            .append("\tversion=")
            .append(version)
            .append(System.lineSeparator())
            .append("\thead=")
            .append(head)
            .append(System.lineSeparator())
            .append("\tbody=")
            .append(body)
            .append(System.lineSeparator())
            .append("]")
            .toString()
    }
}